package com.example.secondhandmall.activity;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.view.View;
import android.widget.ImageView;

import com.example.secondhandmall.R;
import com.example.secondhandmall.adapter.CollectedAdapter;
import com.example.secondhandmall.adapter.OrderAdapter;
import com.example.secondhandmall.api.Api;
import com.example.secondhandmall.api.ApiConfig;
import com.example.secondhandmall.api.MyCallback;
import com.example.secondhandmall.entity.CollectedEntity;
import com.example.secondhandmall.entity.CollectedListResponse;
import com.example.secondhandmall.entity.GoodsEntity;
import com.example.secondhandmall.entity.GoodsListResponse;
import com.example.secondhandmall.util.StringUtils;
import com.google.gson.Gson;

import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;

public class CollectedActivity extends BaseActivity {

    private RecyclerView recyclerView;
    private CollectedAdapter collectedAdapter;
    private List<CollectedEntity> datas;
    private Handler mHandler = new Handler(Looper.getMainLooper()) {
        @Override
        public void handleMessage(@NonNull Message msg) {
            super.handleMessage(msg);
            switch (msg.what) {
                case 0:
                    collectedAdapter.setDatas(datas);
                    collectedAdapter.notifyDataSetChanged();
                    break;
            }
        }
    };

    private ImageView ivReturn;

    @Override
    protected int initLayout() {
        return R.layout.activity_collected;
    }

    @Override
    protected void initView() {
        recyclerView = findViewById(R.id.recyclerView);
        ivReturn = findViewById(R.id.iv_return);
    }

    @Override
    protected void initData() {
        ivReturn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });

        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
        linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
        recyclerView.setLayoutManager(linearLayoutManager);

        collectedAdapter = new CollectedAdapter(this);
        collectedAdapter.setOnItemClickListener(new CollectedAdapter.OnItemClickListener() {
            @Override
            public void onItemClick(int id) {
                navigateTo(DetailActivity.class, "detail", id);
            }
        });
        recyclerView.setAdapter(collectedAdapter);

        getOrderList();
//        localOrderList();
    }

    private void getOrderList() {
        String account = getStringFromSp("account");
        if (!StringUtils.isEmpty(account)) {
            HashMap<String, Object> params = new HashMap<>();
            params.put("userId", account);
            Api.config(ApiConfig.COLLECT, params).getRequest(new MyCallback() {
                @Override
                public void onSuccess(String res) {
                    CollectedListResponse collectedListResponse = new Gson().fromJson(res, CollectedListResponse.class);
                    if (collectedListResponse != null && collectedListResponse.getCode() == 200) {
                        datas = collectedListResponse.getData();
                        if (datas != null && datas.size() > 0) {
                            mHandler.sendEmptyMessage(0);
                        } else {
                            showToastSync("暂时还没有收藏。");
                        }
                    }
                }

                @Override
                public void onFailure(Exception e) {
                    showToastSync("请求失败！");
                }
            });
        } else {
            navigateTo(LoginActivity.class);
            showToast("请先登录");
        }
    }

    private void localOrderList() {
        List<CollectedEntity> list = new ArrayList<>();
        for (int i = 0; i < 8; i++) {
            CollectedEntity collectedEntity = new CollectedEntity();
            collectedEntity.setGoodsName("小凳子家用圆凳蘑菇凳");
            collectedEntity.setGoodsPrice(18.0);
            collectedEntity.setUserId("虎弟家具");
            collectedEntity.setUserPhoto("https://img.alicdn.com/bao/uploaded/i1/2297276614/O1CN01iuA8UY1yjGHr9x912_!!2297276614-0-picasso.jpg_200x200q90.jpg_.webp");
            collectedEntity.setGoodsUrl("https://img.alicdn.com/bao/uploaded/i1/2297276614/O1CN01iuA8UY1yjGHr9x912_!!2297276614-0-picasso.jpg_200x200q90.jpg_.webp");

//            collectedEntity.setDetail("                    \"品牌: 数家珍颜色分类: 压圈-白色小号【买2赠60只垃圾袋】 压圈-蓝色小号【买2赠60只垃圾袋】 压圈-白色大号【买2赠60只垃圾袋】 压圈-蓝色大号【买2赠60只垃圾袋】 密封弹盖-白色小号【买2赠60只垃圾袋】 密封弹盖-蓝色小号【买2赠60只垃圾袋】 密封弹盖-白色大号【买2赠60只垃圾袋】 按压式弹盖-蓝色大号【买2赠60只垃圾袋】 【压圈提手款】蓝色小号 【压圈提手款】粉色小号 【压圈提手款】蓝色大号 【压圈提手款】粉色大号 【弹盖提手款】蓝色小号 【弹盖提手款】粉色小号 【弹盖提手款】蓝色大号 【弹盖提手款】粉色大号垃圾桶类型: 收纳桶货号: E5738~外壳材质: 塑料适用场景: 家庭使用\");\n");
//            collectedEntity.setCollectFlag(true);
//            collectedEntity.setAddress("江苏常州");
//            collectedEntity.setDetail("品牌: JENSMOKAI/简思慕凯型号: HD-124材质: 木木质材质: 松木图案: 动物风格: 简约现代颜色分类: 玫红色 浅灰色 深灰色 浅绿色 翠绿色 卡其色 姜黄色 浅紫色 深紫色 米白色 西瓜红 天蓝色 咖啡色 浅棕色 桔红色 乳白色 明黄色 浅黄色 粉红色 透明 花色 驼色 褐色 深棕色 浅灰色方凳 浅灰色圆凳 草绿色方凳 草绿色圆凳 蓝色方凳 蓝色圆凳 猫咪方凳 猫咪圆凳 猫头鹰方凳 猫头鹰圆凳 长颈鹿方凳 长颈鹿圆凳 子鼠 圆凳 丑牛 圆凳 寅虎 圆凳 卯兔 圆凳 辰龙 圆凳 巳蛇 圆凳 午马 圆凳 未羊 圆凳 申猴 圆凳 酉鸡 圆凳 戌狗 圆凳 亥猪 圆凳毛重: 5KG饰面材质: 布布饰面工艺: 卡通是否可定制: 否附加功能: 多功能适用对象: 成人家具结构: 框架结构产地: 江苏省地市: 常州市区县: 武进区是否组装: 整装包装体积: 0.1出租车是否可运输: 是设计元素: 大师设计款式定位: 经济型安装说明详情: 提供安装说明视频 ");

            list.add(collectedEntity);
        }
        collectedAdapter.setDatas(list);
        collectedAdapter.notifyDataSetChanged();
    }
}